home *** CD-ROM | disk | FTP | other *** search
- head 1.15;
- branch ;
- access ;
- symbols ;
- locks ; strict;
- comment @ * @;
-
-
- 1.15
- date 90.05.16.11.51.27; author douglis; state Exp;
- branches ;
- next 1.14;
-
- 1.14
- date 90.05.16.11.39.56; author douglis; state Exp;
- branches ;
- next 1.13;
-
- 1.13
- date 90.05.14.18.06.38; author douglis; state Exp;
- branches ;
- next 1.12;
-
- 1.12
- date 90.05.14.18.06.05; author douglis; state Exp;
- branches ;
- next 1.11;
-
- 1.11
- date 90.05.10.15.09.18; author douglis; state Exp;
- branches ;
- next 1.10;
-
- 1.10
- date 90.04.26.23.51.51; author douglis; state Exp;
- branches ;
- next 1.9;
-
- 1.9
- date 90.04.26.23.00.43; author douglis; state Exp;
- branches ;
- next 1.8;
-
- 1.8
- date 90.02.15.19.15.06; author douglis; state Exp;
- branches ;
- next 1.7;
-
- 1.7
- date 89.07.05.13.21.09; author douglis; state Exp;
- branches ;
- next 1.6;
-
- 1.6
- date 89.06.23.11.27.45; author rab; state Exp;
- branches ;
- next 1.5;
-
- 1.5
- date 88.11.18.10.22.35; author douglis; state Exp;
- branches ;
- next 1.4;
-
- 1.4
- date 88.11.10.17.23.10; author douglis; state Exp;
- branches ;
- next 1.3;
-
- 1.3
- date 88.09.23.09.12.14; author douglis; state Exp;
- branches ;
- next 1.2;
-
- 1.2
- date 88.09.13.16.53.46; author douglis; state Exp;
- branches ;
- next 1.1;
-
- 1.1
- date 88.08.12.16.24.18; author douglis; state Exp;
- branches ;
- next ;
-
-
- desc
- @Declarations for the routines that manage the migration (load average
- and idle times) database.
- @
-
-
- 1.15
- log
- @removed padding.. didn't realize arch is 12 bytes instead of 16.
- @
- text
- @/*
- * mig.h --
- *
- * Declarations of structures, constants, and procedures to manage
- * the global database of host load averages and uptimes.
- *
- * Copyright 1987, 1988, 1989, 1990 Regents of the University of California
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies. The University of California
- * makes no representations about the suitability of this
- * software for any purpose. It is provided "as is" without
- * express or implied warranty.
- *
- * $Header: /sprite/src/lib/include/RCS/mig.h,v 1.14 90/05/16 11:39:56 douglis Exp Locker: douglis $ SPRITE (Berkeley)
- */
-
- #ifndef _MIG
- #define _MIG
-
- #include <fs.h>
-
- /*
- * We keep track of 1, 5, and 15-minute load averages in the database.
- * We sample the load every MIG_LOAD_INTERVAL seconds and update it
- * in the global daemon's database at least every MIG_GLOBAL_UPDATE_INTERVAL
- * seconds. A host is considered "down" if it hasn't updated within
- * MIG_TIMEOUT seconds.
- */
- #define MIG_NUM_LOAD_VALUES 3
- #define MIG_LOAD_INTERVAL 5
- #define MIG_GLOBAL_UPDATE_INTERVAL (12 * MIG_LOAD_INTERVAL)
- #define MIG_TIMEOUT (3 * MIG_GLOBAL_UPDATE_INTERVAL)
-
- /*
- * Constants affecting how hard and how often processes will try to
- * contact the global daemon. A process should sleep 1 second, try
- * again, and then double the time it sleeps until it has tried
- * MIG_DAEMON_RETRY_COUNT times. 2**5 is just about 30 seconds.
- */
-
- #define MIG_DAEMON_RETRY_COUNT 5
-
- /*
- * Host states:
- *
- * MIG_HOST_ACTIVE - Host has active user, or a high load from
- * local processes.
- * MIG_HOST_IDLE - Host is completely idle, with no foreign
- * processes.
- * MIG_HOST_PART_USED - Host is being used by some processes,
- * but still has capacity for foreign procs.
- * MIG_HOST_FULL - Host is completely used by the highest
- * priority processes but would otherwise
- * accept foreign processes.
- * MIG_HOST_REFUSES - Host refuses all migrations.
- * MIG_HOST_DOWN - Host is not running or is unreachable.
- *
- * These states are associated with hosts; processes have priorities
- * based on the ones defined in proc.h (PROC_HIGH/NORMAL/LOW_PRIORITY),
- * but 0-based. We also define a constant for indexing among these priorities.
- */
- #define MIG_HOST_ACTIVE 0
- #define MIG_HOST_IDLE 1
- #define MIG_HOST_PART_USED 2
- #define MIG_HOST_FULL 3
- #define MIG_HOST_REFUSES 4
- #define MIG_HOST_DOWN 5
- #define MIG_NUM_STATES (MIG_HOST_DOWN + 1)
-
- #define MIG_LOW_PRIORITY 0
- #define MIG_NORMAL_PRIORITY 1
- #define MIG_HIGH_PRIORITY 2
- #define MIG_NUM_PRIORITIES (MIG_HIGH_PRIORITY + 1)
-
- /*
- * For each machine, keep track of the timestamp for its information, various
- * load averages, and info about idle time and foreign processes.
- * The following structures define the way this information is used.
- * A Mig_LoadVector is the load information that varies from time to time.
- * This info is updated by the loadavg daemons and may be used by widgets or
- * other programs that periodically sample the load average. Other information
- * is more static -- it won't change after a host boots, or it changes
- * independent of the loadavg daemon (for example, when a host is used
- * for migration).
- */
-
- /*
- ********************************************************************
- * IMPORTANT NOTE *
- ********************************************************************
- * *
- * Changes to the structures in this file must also be reflected in *
- * the Fmt format strings used by the migration server. *
- * *
- ********************************************************************
- */
-
- typedef struct {
- int timestamp; /* when info last updated */
- int noInput; /* time since last input */
- int allowMigration; /* host allowing migration? */
- int foreignProcs; /* total number of foreign
- processes recorded
- by kernel */
- int utils[MIG_NUM_LOAD_VALUES]; /* avg utilizations (in %) */
- int pad; /* pad structures */
- double lengths[MIG_NUM_LOAD_VALUES]; /* avg ready-queue lengths */
- } Mig_LoadVector;
-
- typedef struct {
- int hostID; /* host for which info valid */
- int bootTime; /* when host last rebooted */
- int migVersion; /* migration version level of
- kernel */
- int maxProcs; /* maximum number of foreign
- processes */
- int foreign[MIG_NUM_PRIORITIES];
- /* number of foreign
- jobs currently assigned to this
- host, for each priority */
- int state; /* state of the host w.r.t.
- migration: see above. */
- int pad[4]; /* for future expansion */
- Mig_LoadVector loadVec; /* updated periodically by loadavg
- daemon */
- } Mig_Info;
-
-
- /*
- * Define structures and constants for interfacing with the daemons using
- * pdevs.
- */
-
- /*
- * IOControls for communication between Mig lib and global migration daemon
- * IOC_MIG_GETINFO - return Mig_Info for one or more hosts.
- * IOC_MIG_GETIDLE - get idle host(s).
- * IOC_MIG_DONE - return idle host(s) to free pool.
- * IOC_MIG_KILL - remove load value(s) from database.
- * IOC_MIG_DAEMON - flags process as a loadavg daemon
- * and initializes load information.
- * IOC_MIG_CHANGE - daemon is changing host status.
- * IOC_MIG_GET_PARAMS - get system parameters.
- * IOC_MIG_SET_PARAMS - set system parameters (must be root).
- * IOC_MIG_GET_STATS - get statistics.
- * IOC_MIG_GET_UPDATE - get update on host availability.
- * IOC_MIG_EVICT - force all processes to be evicted.
- * IOC_MIG_RESET_STATS - reset statistics.
- */
-
- #define IOC_MIG_GETINFO (IOC_GENERIC_LIMIT+1)
- #define IOC_MIG_GETIDLE (IOC_GENERIC_LIMIT+2)
- #define IOC_MIG_DONE (IOC_GENERIC_LIMIT+3)
- #define IOC_MIG_KILL (IOC_GENERIC_LIMIT+4)
- #define IOC_MIG_DAEMON (IOC_GENERIC_LIMIT+5)
- #define IOC_MIG_CHANGE (IOC_GENERIC_LIMIT+6)
- #define IOC_MIG_GET_PARAMS (IOC_GENERIC_LIMIT+7)
- #define IOC_MIG_SET_PARAMS (IOC_GENERIC_LIMIT+8)
- #define IOC_MIG_GET_STATS (IOC_GENERIC_LIMIT+9)
- #define IOC_MIG_GET_UPDATE (IOC_GENERIC_LIMIT+10)
- #define IOC_MIG_EVICT (IOC_GENERIC_LIMIT+11)
- #define IOC_MIG_RESET_STATS (IOC_GENERIC_LIMIT+12)
- #define IOC_MIG_LASTCMD IOC_MIG_RESET_STATS
-
- /*
- * IOC_MIG_GETINFO -
- * For requesting information about host statuses. Returns the number
- * of hosts for which information is returned, followed by an array of
- * Mig_Info structures. The data returned are not aligned as though
- * they were in a structure; therefore, the caller may need to bcopy
- * from a character buffer into a structure to make use of the data.
- * The normal interface to get this info is via the library routine
- * Mig_GetAllInfo or Mig_GetInfo, which get the Mig_Info structures
- * for many hosts or a single host, respectively [due to historical
- * reasons].
- */
-
- typedef struct {
- int firstHost; /* ID of first host requested. */
- int numRecs; /* Number of entries requested. */
- } Mig_InfoRequest;
-
-
- /*
- * IOC_MIG_GETIDLE -
- *
- * For requesting idle hosts. Returns the number of hosts assigned followed
- * by the numeric identifiers of the hosts.
- */
-
- typedef struct {
- int numHosts; /* Number of hosts requested. */
- int flags; /* Flags, defined below. */
- int priority; /* Priority of processes, defined above. */
- int virtHost; /* Virtual host of process making request. */
- } Mig_IdleRequest;
-
- /*
- * Flags for foreign processes:
- *
- * MIG_PROC_RELOCATE - Wish to relocate if evicted.
- * MIG_PROC_AGENT - Request is on behalf of another process.
- * Do not reclaim host because process that
- * makes the request closes its connection.
- */
-
- #define MIG_PROC_RELOCATE 0x0001
- #define MIG_PROC_AGENT 0x0002
-
-
- /*
- * IOC_MIG_DONE -
- *
- * For returning idle hosts to the pool, or removing hosts from the database,
- * An array of hostIDs is passed. In each case, nothing is returned.
- * MIG_ALL_HOSTS indicates that the operation should be performed for
- * all hosts (either hosts in use for migration, or every host in the database,
- * respectively). Hosts are reclaimed implicitly if the process closes the
- * pdev talking to the server (including if it exits).
- */
-
- #define MIG_ALL_HOSTS 0
-
- /*
- * IOC_MIG_GET_UPDATE -
- *
- * For getting updates to host availability. The caller is responsible
- * for making as many ioctls as needed until the stream is not selectable,
- x * since only a single update is transferred with each ioctl. (Normally
- * only one is necessary.)
- *
- * There is no input for this ioctl. The output is an integer specifying
- * a host that is no longer available, or 0, indicating that a new
- * host is available and IOC_MIG_GET_IDLE should be used to get a new
- * host.
- */
-
- /*
- * IOC_MIG_GET_STATS -
- * IOC_MIG_RESET_STATS -
- *
- * GET_STATS returns a structure, defined below. RESET_STATS takes and
- * returns no arguments.
- *
- * Define the structure used to maintain statistics for migration. Note
- * that changes to these structures must be reflected in the byte-swapping
- * constants used by the migration daemon.
- *
- * Define the maximum number of architecture types we'll
- * keep statistics about, and statistics that are kept track of on a
- * per-machine-type basis.
- *
- * MIG_MAX_ARCH_TYPES - maximum number of architectures managed by migd.
- * - This can be increased, but only by complicating
- * the interface to obtain statistics so it can
- * transfer the buffer in pieces.
- * MIG_MAX_ARCH_LEN - maximum length of a string used in stats.
- * MIG_MAX_HOSTS_DIST - maximum number of hosts in a request that we'll keep
- * track of (i.e. last element of array is this many
- * or more).
- * MIG_INTERVAL_PERIOD - number of seconds between incrementing counters
- * MIG_STATS_VERSION - version of statistics structure, to catch
- * inconsistencies.
- */
-
- #define MIG_MAX_ARCH_TYPES 8
- #define MIG_MAX_ARCH_LEN 12
- #define MIG_MAX_HOSTS_DIST 20
- #define MIG_INTERVAL_PERIOD 300
- #define MIG_STATS_VERSION 5
-
-
- /*
- * Statistics that are kept as a sum and as a sum of squares (for standard
- * deviation). The ones that are likely to overflow are kept as two
- * integers and a macro is used to add to them.
- */
-
- #define MIG_COUNTER_HIGH 1
- #define MIG_COUNTER_LOW 0
-
- typedef struct {
- unsigned int requested; /* Number of hosts requested. */
- unsigned int obtained; /* Number of hosts obtained. */
- unsigned int evicted; /* Number of hosts taken back from
- client due to eviction. */
- unsigned int reclaimed; /* Number of hosts taken back from
- client due to other causes
- (e.g., fairness). */
- unsigned int timeUsed; /* Total time before returning hosts,
- in seconds. */
- unsigned int timeToEviction; /* Total time before evictions occur. */
- unsigned int hostIdleObtained[2]; /* Idle time of hosts obtained when
- assigned, in minutes. */
- unsigned int hostIdleEvicted[2]; /* Idle time of hosts at time they are
- assigned, just for those hosts that
- later evict processes. */
- unsigned int idleTimeWhenActive[2]; /* The amount of time hosts were idle
- when they became non-idle. */
- unsigned int hostCounts[MIG_NUM_STATES]; /* Number of hosts in each
- state. */
- int pad[2]; /* Pad to double-word boundary. */
- } Mig_StatTotals;
-
- typedef struct {
- char arch[MIG_MAX_ARCH_LEN]; /* String representation of machine
- type. */
- unsigned int numClients; /* Number of processes requesting
- hosts. */
- unsigned int gotAll; /* Number of processes getting as
- many hosts as requested. */
- unsigned int requestDist[MIG_MAX_HOSTS_DIST + 1];
- /* Distribution of maximum number of
- hosts requested. */
- unsigned int obtainedDist[MIG_MAX_HOSTS_DIST + 1];
- /* Distribution of maximum number of
- hosts obtained. */
- unsigned int nonIdleTransitions; /* Number of times hosts went from
- idle to non-idle. */
- Mig_StatTotals counters; /* Counters of different types of
- operations, cumulative. */
- Mig_StatTotals squared; /* Sum of Squares of above counters
- (for calculating std. dev.). */
- } Mig_ArchStats;
-
- typedef struct {
- unsigned int version; /* Version number of the daemon. */
- unsigned int checkpointInterval; /* Interval for checkpointing (and
- incrementing counters). */
- unsigned int firstRun; /* Time when statistics first started
- gathering. */
- unsigned int restarts; /* Number of times the daemon
- restarted. */
- unsigned int intervals; /* Number of intervals over which
- statistics have been gathered. */
- unsigned int maxArchs; /* Maximum number of architecture
- types we know about. */
- unsigned int getLoadRequests; /* Number of times clients asked for
- load info. */
- unsigned int totalRequests; /* Total number of times hosts were
- requested. */
- unsigned int totalObtained; /* Total number of times hosts were
- assigned. */
- unsigned int numRepeatRequests; /* Number of times the requesting host
- was the same as the previous
- request. */
- unsigned int numRepeatAssignments; /* Number of times the same
- <physical,virtual> host pair was
- assigned twice in a row. */
- unsigned int numFirstAssignments; /* Number of assignments that were
- to hosts that hadn't been assigned
- to anyone since going idle.*/
- Mig_ArchStats archStats[MIG_MAX_ARCH_TYPES]; /* Per-architecture stats. */
- } Mig_Stats;
-
-
- /*
- * IOC_MIG_KILL - sends int.
- * IOC_MIG_DAEMON - sends Mig_Info structure.
- * IOC_MIG_CHANGE - sends int.
- * IOC_MIG_EVICT - receives int.
- */
-
- /*
- * IOC_MIG_GET_PARAMS -
- * IOC_MIG_SET_PARAMS -
- *
- * Define the parameters used by the migration daemons. This can be
- * updated or obtained via an ioctl. If the global daemon is updated
- * then it notifies the other daemons to retrieve the new parameters.
- * One can also connect to the local daemon and modify the info for a
- * particular host. The migration version and criteria are not
- * broadcast from the global server.
- *
- * The criteria for allowing migration, unless overridden, are idle
- * time (noInput) and ready queue lengths. If we are not allowing
- * foreign processes, but our time since last input is greater than
- * noInput and our average queue lengths are ALL less than the
- * corresponding values in min, start accepting foreign processes. If
- * we are allowing foreign processes and either the idle time drops or
- * ANY of the average queue lengths exceeds its corresponding value in
- * max, stop accepting them.
- */
-
- typedef struct {
- int criteria; /* Whom to allow, and when
- (c.f. proc.h). */
- int version; /* Migration version. */
- int noInput; /* Idle time needed. */
- int pad; /* Fill out to doubleword. */
- double minThresh[MIG_NUM_LOAD_VALUES]; /* Minimum load before
- becoming idle */
- double maxThresh[MIG_NUM_LOAD_VALUES]; /* Maximum load before
- refusing migrations once
- idle. */
- } Mig_SystemParms;
-
-
- /*
- * Declare the global variables that refer to the pdevs used.
- */
- extern int mig_GlobalPdev;
- extern int mig_LocalPdev;
-
-
- extern Mig_Info * Mig_GetInfo();
- extern int Mig_GetAllInfo();
- extern int Mig_GetIdleNode();
- extern int Mig_OpenInfo();
- extern int Mig_UpdateInfo();
- extern int Mig_Done();
- extern int Mig_ConfirmIdle();
- extern int Mig_DeleteHost();
- extern int Mig_Evict();
- extern char * Mig_GetPdevName();
- extern int Mig_OpenPdev();
-
- #endif /* _MIG */
- @
-
-
- 1.14
- log
- @changes for statistics again
- @
- text
- @d16 1
- a16 1
- * $Header: /sprite/src/lib/include/RCS/mig.h,v 1.13 90/05/14 18:06:38 douglis Exp Locker: douglis $ SPRITE (Berkeley)
- a321 1
- int pad[3]; /* Pad to double-word boundary. */
- @
-
-
- 1.13
- log
- @changed stats version too.
- @
- text
- @d16 1
- a16 1
- * $Header: /sprite/src/lib/include/RCS/mig.h,v 1.12 90/05/14 18:06:05 douglis Exp Locker: douglis $ SPRITE (Berkeley)
- d272 1
- a272 1
- #define MIG_STATS_VERSION 4
- a319 9
- unsigned int numRepeatRequests; /* Number of times the requesting host
- was the same as the previous
- request. */
- unsigned int numRepeatAssignments; /* Number of times the same
- <physical,virtual> host pair was
- assigned twice in a row. */
- unsigned int numFirstAssignments; /* Number of assignments that were
- to hosts that hadn't been assigned
- to anyone since going idle.*/
- d322 1
- a322 1
- int pad; /* Pad to double-word boundary. */
- d343 13
- a355 2
- int pad; /* Pad out to a double-word
- boundary. */
- @
-
-
- 1.12
- log
- @added a stats field
- @
- text
- @d16 1
- a16 1
- * $Header: /sprite/src/lib/include/RCS/mig.h,v 1.11 90/05/10 15:09:18 douglis Exp Locker: douglis $ SPRITE (Berkeley)
- d272 1
- a272 1
- #define MIG_STATS_VERSION 3
- @
-
-
- 1.11
- log
- @changes for statistics
- @
- text
- @d16 1
- a16 1
- * $Header: /sprite/src/lib/include/RCS/mig.h,v 1.10 90/04/26 23:51:51 douglis Exp Locker: douglis $ SPRITE (Berkeley)
- d326 3
- d331 1
- a331 1
- int pad[2]; /* Pad to double-word boundary. */
- @
-
-
- 1.10
- log
- @changed MIG_MAX_ARCH_TYPES to 8 instead of 12, to cut down the ioctl below
- 4K.
- @
- text
- @d7 1
- a7 1
- * Copyright 1987, 1988, 1989 Regents of the University of California
- d16 1
- a16 1
- * $Header: /sprite/src/lib/include/RCS/mig.h,v 1.9 90/04/26 23:00:43 douglis Exp Locker: douglis $ SPRITE (Berkeley)
- d247 4
- a250 1
- * Define the structure used to maintain statistics for migration.
- d264 2
- d272 2
- d312 2
- d320 3
- d328 1
- a328 1
- int pad[4]; /* Pad to double-word boundary. */
- @
-
-
- 1.9
- log
- @changes for statistics gathering
- @
- text
- @d16 1
- a16 1
- * $Header: /sprite/src/lib/include/RCS/mig.h,v 1.8 90/02/15 19:15:06 douglis Exp Locker: douglis $ SPRITE (Berkeley)
- d253 3
- d263 1
- a263 1
- #define MIG_MAX_ARCH_TYPES 12
- @
-
-
- 1.8
- log
- @new version for migration daemon
- @
- text
- @d16 1
- a16 1
- * $Header: /user2/douglis/pdev_mig/migd/RCS/mig.h,v 2.2 90/02/11 23:34:43 douglis Exp Locker: douglis $ SPRITE (Berkeley)
- d70 1
- d75 1
- a75 1
- #define MIG_NUM_PRIORITIES (MIG_HIGH_PRIORITY +1)
- d147 1
- a147 1
- * IOC_MIG_GET_STATS - get statistcs.
- d150 1
- d164 2
- a165 1
- #define IOC_MIG_LASTCMD IOC_MIG_EVICT
- a225 1
-
- d231 1
- a231 1
- * since only a single update is transferred with each ioctl. (Normally
- d242 95
- a336 9
- * Define a structure to maintain statistics for migration.
- */
- typedef struct {
- int requested; /* Number of hosts requested. */
- int obtained; /* Number of hosts obtained. */
- int evictions; /* Number of hosts taken back from clients
- due to eviction. */
- int reclaims; /* Number of hosts taken back from clients
- due to other causes (e.g., fairness). */
- a379 1
-
- @
-
-
- 1.7
- log
- @added Mig_ConfirmIdle
- @
- text
- @d7 1
- a7 1
- * Copyright 1987, 1988 Regents of the University of California
- d16 1
- a16 1
- * $Header: /sprite/src/lib/include/RCS/mig.h,v 1.6 89/06/23 11:27:45 rab Exp Locker: douglis $ SPRITE (Berkeley)
- d22 2
- d26 4
- a29 3
- * The timeout is used to determine whether a host is still alive, for
- * purposes of selecting an idle host for migration. It is measured in
- * seconds.
- d32 43
- a74 1
- #define MIG_TIMEOUT 180
- d77 9
- a85 3
- * For each machine, keep track of the timestamp for its information and the
- * different load averages reported. The following structure defines the
- * way this information is used internally.
- d88 11
- a99 4
- int hostID; /* host for which info valid */
- int utils[MIG_NUM_LOAD_VALUES]; /* avg utilizations (in %) */
- double lengths[MIG_NUM_LOAD_VALUES]; /* avg ready-queue lengths */
- int bootTime; /* when host last rebooted */
- d103 24
- a126 5
- int foreignProcs; /* number of foreign
- * processes currently on */
- int migVersion; /* migration version level of
- * kernel */
- int pad; /* for future expansion */
- d129 109
- d239 62
- a300 11
- * The type of the file may be specified as either MIG_PRIVATE
- * or MIG_SHARED to indicate the default file name. The private
- * file is in /hosts and is presumably updated and read all on one
- * host, while the shared file is updated by multiple hosts
- * concurrently and is therefore noncacheable.
- */
-
- typedef enum {
- MIG_SHARED,
- MIG_PRIVATE
- } Mig_FileType;
- d309 4
- @
-
-
- 1.6
- log
- @*** empty log message ***
- @
- text
- @d16 1
- a16 1
- * $Header: /sprite/src/lib/include/RCS/mig.h,v 1.5 88/11/18 10:22:35 douglis Exp Locker: rab $ SPRITE (Berkeley)
- d71 1
- @
-
-
- 1.5
- log
- @added migVersion, pad to Mig_Info structure.
- @
- text
- @d16 1
- a16 1
- * $Header: /sprite/src/lib/include/RCS/mig.h,v 1.4 88/11/10 17:23:10 douglis Exp Locker: douglis $ SPRITE (Berkeley)
- d64 1
- a64 1
-
- d72 1
- a72 1
- #endif _MIG
- @
-
-
- 1.4
- log
- @added Mig_Done.
- @
- text
- @d16 1
- a16 1
- * $Header: /sprite/src/lib/include.new/RCS/mig.h,v 1.3 88/09/23 09:12:14 douglis Exp Locker: douglis $ SPRITE (Berkeley)
- d47 3
- @
-
-
- 1.3
- log
- @Added comments in typedef; changed some function names to track changes
- in the library.
- @
- text
- @d16 1
- a16 1
- * $Header: mig.h,v 1.2 88/09/13 16:53:46 douglis Exp $ SPRITE (Berkeley)
- d45 2
- d67 1
- @
-
-
- 1.2
- log
- @Changed HostInfo to Mig prefix.
- @
- text
- @d16 1
- a16 1
- * $Header: mig.h,v 1.1 88/08/12 16:24:18 douglis Exp $ SPRITE (Berkeley)
- d38 7
- a44 7
- int hostID;
- int utils[MIG_NUM_LOAD_VALUES];
- double lengths[MIG_NUM_LOAD_VALUES];
- int bootTime;
- int timestamp;
- int noInput;
- int allowMigration;
- a59 1
- extern int Mig_UpdateInfo();
- d61 1
- d63 2
- a64 1
- extern void Mig_SetInfoFile();
- @
-
-
- 1.1
- log
- @Initial revision
- @
- text
- @d2 1
- a2 1
- * hostInfo.h --
- d16 1
- a16 1
- * $Header: hostInfo.h,v 1.1 88/07/14 17:27:32 ouster Exp $ SPRITE (Berkeley)
- d19 2
- a20 2
- #ifndef _HOSTINFO
- #define _HOSTINFO
- d28 2
- a29 2
- #define HOST_INFO_NUM_LOAD_VALUES 3
- #define HOST_INFO_TIMEOUT 180
- d33 2
- a34 3
- * different load averages reported. Also, the architecture type
- * (e.g., sun2/sun3/spur) is stored to make sure we can migrate to a machine
- * of the same type.
- d39 2
- a40 3
- int archType;
- int utils[HOST_INFO_NUM_LOAD_VALUES];
- double lengths[HOST_INFO_NUM_LOAD_VALUES];
- d45 1
- a45 1
- } Host_Info;
- d48 2
- a49 2
- * The type of the file may be specified as either HOST_INFO_PRIVATE
- * or HOST_INFO_SHARED to indicate the default file name. The private
- d56 3
- a58 3
- HOST_INFO_SHARED,
- HOST_INFO_PRIVATE
- } Host_InfoFileType;
- d60 4
- a63 4
- extern int Host_UpdateInfo();
- extern Host_Info * Host_GetInfo();
- extern int Host_GetIdleNode();
- extern void Host_SetInfoFile();
- d65 1
- a65 1
- #endif _HOSTINFO
- @
-